//package cn.lili.elasticsearch.config;
//
//import lombok.AllArgsConstructor;
//import lombok.Builder;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//import org.springframework.stereotype.Component;
//
//import javax.validation.constraints.NotNull;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @author paulG
// * @since 2020/10/13
// **/
//@Data
//@Builder
//@Component("elasticsearchProperties")
//@NoArgsConstructor
//@AllArgsConstructor
//@ConfigurationProperties(prefix = "lili.data.elasticsearch")
//public class ElasticsearchProperties {
//
//    /**
//     * 请求协议
//     */
//    private String schema = "https";
//
//    /**
//     * 集群名称
//     */
//    private String clusterName = "elasticsearch";
//
//    /**
//     * 集群节点
//     */
//    @NotNull(message = "集群节点不允许为空")
//    private List<String> clusterNodes = new ArrayList<>();
//
//    /**
//     * 索引前缀
//     */
//    private String indexPrefix;
//
//    /**
//     * 连接超时时间(毫秒)
//     */
//    private Integer connectTimeout = 1000;
//
//    /**
//     * socket 超时时间
//     */
//    private Integer socketTimeout = 30000;
//
//    /**
//     * 连接请求超时时间
//     */
//    private Integer connectionRequestTimeout = 500;
//
//    /**
//     * 每个路由的最大连接数量
//     */
//    private Integer maxConnectPerRoute = 10;
//
//    /**
//     * 最大连接总数量
//     */
//    private Integer maxConnectTotal = 30;
//
//    /**
//     * 索引配置信息
//     */
//    private Index index = new Index();
//
//    /**
//     * 认证账户
//     */
//    private Account account = new Account();
//
//    /**
//     * 索引配置信息
//     */
//    @Data
//    public static class Index {
//
//        /**
//         * 分片数量
//         */
//        private Integer numberOfShards = 3;
//
//        /**
//         * 副本数量
//         */
//        private Integer numberOfReplicas = 2;
//
//    }
//
//    /**
//     * 认证账户
//     */
//    @Data
//    public static class Account {
//
//        /**
//         * 认证用户
//         */
//        private String username;
//
//        /**
//         * 认证密码
//         */
//        private String password;
//
//    }
//
//
//}
